package Exercises;/*
 *
 * @author 陈粒
 * @version 创建时间：2021/7/5 17:30
 */
/**
 * 练习题:斐波那契问题
 * 已知:斐波那契数列的前几个数分别为0,1,1,2,3,5…从第三项开始,每一项都等于前两项的和.请接收用户输入的整数n,求出此数列的前n项.
 */

import java.util.*;

public class Faibonacci {
    public static void main(String[] args) {
        System.out.print("请输入要求斐波那契数的n值：");
        int n = new Scanner(System.in).nextInt();
        if (n < 1) {
            System.out.println("您输入的数不正确");
        } else {
            int[] a = new int[n];
            if (n == 1) {
                System.out.println("斐波那契数列为:" + "[0]");
            } else if (n == 2) {
                System.out.println("斐波那契数列为:" + "[0, 1]");
            } else if (n > 2) {//这个if语句里就是求斐波那契的算法
                a[0] = 0;
                a[1] = 1;
                int b = 0;
                while (b < n) {
                    if (b >= 2) {
                        a[b] = a[b - 2] + a[b - 1];
                    }
                    b++;
                }
                System.out.println("斐波那契数列为:" + Arrays.toString(a));
            }
        }
    }
}
